/**
 * Description:
 * Class Name:FkTagTest
 * Date:2022/4/24 12:39
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第14章_Annotation注解._14_3_自定义注解._14_3_4_重复注解;

@FkTag(age = 5)
@FkTag(name = "Crazy Java", age = 9)
public class FkTagTest {
    public static void main(String[] args) {
        Class<FkTagTest> clazz = FkTagTest.class;
        /*
        使用Java8新增的getDeclaredAnnotationsByType()方法获取修饰该类的多个FkTag重复注解
         */
        // 因为是多个FkTag所以需要用FkTag类型的数组来接收
        FkTag[] tags = clazz.getDeclaredAnnotationsByType(FkTag.class);
        for (var tag :
                tags) {
            System.out.println(tag.name() + "-->" + tag.age());
        }
        /*
        使用传统的getDeclaredAnnotation()方法获取修饰FkTagTest类的@FkTags注解
         */
        FkTags container = clazz.getDeclaredAnnotation(FkTags.class);
        System.out.println(container);
    }
}
//疯狂java软件-->5
//Crazy Java-->9
//@疯狂Java讲义.第14章_Annotation注解._14_3_自定义注解._14_3_重复注解.FkTags({@疯狂Java讲义.第14章_Annotation注解._14_3_自定义注解._14_3_重复注解.FkTag(name="\u75af\u72c2java\u8f6f\u4ef6", age=5), @疯狂Java讲义.第14章_Annotation注解._14_3_自定义注解._14_3_重复注解.FkTag(name="Crazy Java", age=9)})